package com.module.codeBind;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import base.util.ConstantUnit;
import base.util.Page;
import base.util.StringUtil;

import com.module.codeBind.manager.CodeAppManager;
import com.module.codeBind.vo.CodeApp;
import com.module.organization.vo.EntBind;
import com.module.sys.LoginSession;
/**
 * 码应用业务处理类
 * @author dengsq
 *
 */
public class CodeAppService {
		static Logger logger = Logger.getLogger(CodeAppService.class);
		public CodeAppService(){}
		/**
		 * 分页查询码应用信息
		 * @param codeApp 码应用对象
		 * @param start 开始分页行
		 * @param limit 每一页的最大行数
		 * @return 对象结果集
		 * @throws Exception
		 */
//		 public Page toList(CodeApp codeApp,final Integer start,final Integer limit) throws Exception{
//			   Page page = new Page();
//	           page.setStart(start);
//	           page.setLimit(limit);            
//	           Map<String,Object> map = new HashMap<String,Object>();
//	    	   map.put(ConstantUnit.O_PT, "toListCodeApp");
//	     	   map.put(ConstantUnit.PAGE, page);
//	     	   map.put("codeapp", codeApp);	    
//	    	   return CodeBindSocketClient.returnValue(map).getPage();
//		}
		 /**
		  * 查询所有码应用
		  * @return 所有结果集
		  * @throws Exception
		  */
		 public List<CodeApp> readAll() throws Exception{
//			 Map<String,Object> map = new HashMap<String,Object>();
//		 	 map.put(ConstantUnit.O_PT, "readAllCodeApp");
//		 	 return CodeBindSocketClient.returnValue(map).getList();
			 CodeAppManager codeAppManager = CodeAppManager.getInstance();
			 List<CodeApp> list = codeAppManager.readAll();
			 return list;
		 }
		 public List getCodeAppByOrgAppIdList() throws Exception{
			 List retureList = null;
			 try{
				 List orgAppIdList = LoginSession.getOrgApp();
				 List list = new ArrayList();

				 EntBind entBind = new EntBind();
				 for(int i=0;i<orgAppIdList.size();i++){
					 entBind = (EntBind) orgAppIdList.get(i);
					 list.add(entBind.getCodeAppId());
				 }
				 CodeAppManager codeAppManager = CodeAppManager.getInstance();
				 retureList = codeAppManager.getCodeAppByOrgAppIdList(list);
				 
			 }catch (Exception e) {
				 e.printStackTrace();
			}
		 	 return retureList;
		 }
//		 /**
//		  * 根据ID查询对象
//		  * @param id 码应用对象ID
//		  * @return 码应用对象
//		  * @throws Exception
//		  */
//		 public CodeApp findById(String id) throws Exception{
//			Map<String,Object> map = new HashMap<String,Object>();
//			CodeApp code = new CodeApp();
//			code.setId(id);
//	 	    map.put(ConstantUnit.O_PT, "findcodeAppById");
//	  	    map.put("codeapp", code);  
//	  	    return CodeBindSocketClient.returnValue(map).getCodeapp();
//		 }
//		 
//		 /**
//		  * 新增码应用
//		  * @param code 码应用对象
//		  * @return 成功或者失败
//		  */
//		 public Map<String,Object> save(CodeApp code,boolean isCheck)throws Exception{
//			 Map<String,Object> resultMap = null;
//			 boolean state = false;
//			 if(isCheck){
//				 resultMap = this.checkAppCode(code);
//				 state = (Boolean) resultMap.get("state");
//			 }
//			 if(state || !isCheck){
//				 Map<String,Object> map = new HashMap<String,Object>();
//				 map.put(ConstantUnit.O_PT, "addCodeApp");
//				 map.put("codeapp", code); 
//				 return CodeBindSocketClient.returnValue(map).getResult();
//			 }
//			 return resultMap;			
//		 }
//		
//		/**
//		 * 根据ID批量删除
//		 * @param idArray ID数组 
//		 * @return Map对象
//		 * @throws Exception
//		 */
//		public Map<String,Object>  remove(List<String> idArray) throws Exception{
//			 String ids = StringUtil.getNewStrByList(idArray);
//			 CodeApp obj = new CodeApp();
//			 obj.setId(ids);	      
//			 Map<String,Object> map = new HashMap<String,Object>();
//			 map.put(ConstantUnit.O_PT,"delCodeApp");
//		  	 map.put("codeapp", obj);
//		    return CodeBindSocketClient.returnValue(map).getResult();
//		}
//		/**
//		 * 验证码应用编号
//		 * @param code 码应用对象
//		 * @return Map对象
//		 * @throws Exception
//		 */
//		private  Map<String,Object> checkAppCode(CodeApp code) throws Exception{
//			Map<String,Object> map = new HashMap<String,Object>();
//			map.put(ConstantUnit.O_PT, "checkAppCode");
//			map.put("codeapp", code); 
//			return CodeBindSocketClient.returnValue(map).getResult();
//		}
}
